"""
演示：快速体验函数的开发及应用
"""
# 需求，统计字符串的长度，不使用内置函数len()
str1 = "itheima"
str2 = "itcast"
str3 = "python"

# # 定义一个计数变量，但过于重复
# count = 0
# for i in str1:
#     count += 1
#
# print(f"字符串{str1}的长度是：{count}")
#
# count = 0
# for i in str2:
#     count += 1
#
# print(f"字符串{str2}的长度是：{count}")
#
# count = 0
# for i in str3:
#     count += 1
#
# print(f"字符串{str3}的长度是：{count}")

# # 可以使用函数，来优化这个过程
# def my_len(data):
#     count = 0
#     for i in data:
#         count += 1
#     print(f"字符串{data}的长度是{count}")
#
#
# my_len(str1)
# my_len(str2)
# my_len(str3)

"""
演示函数的定义语法
"""

# # 定义一个函数，输出相关信息
# def say_hi():
#     print("Hi 我是黑马程序员，学Python来黑马！")
#
#
# # 调用函数，让定义的函数开始工作
# say_hi()
# say_hi()
# say_hi()

"""
演示函数使用参数
"""

# # 定义2数相加的函数，通过参数接收被计算的两个数字
#
# def add(x, y):
#     result = x + y
#     print(f"{x} + {y}的计算结果是：{result}")
# # 调用函数，传入被计算的两个数字
# add(1, 2)
# add(5, 6)


"""
演示：定义函数返回值的语法格式
"""

# # 定义一个函数，完成两数相加功能
# def add(a,b):
#     result = a + b
#     return result
#
#
# # 通过返回值，将相加的结果返回给调用者
# r = add(5, 6)
# print(f"r的值为{r}")


"""
演示特殊字面量：None
"""

# 无return语句的函数返回值
def say_hi():
    print("你好呀")

result = say_hi()
print(f"无返回值函数，返回的内容是：{result}")
print(f"无返回值函数，返回的内容类型是：{type(result)}")


# 主动返回None的函数
def say_hi2():
    print("你好呀")
    return None

result = say_hi()
print(f"无返回值函数，返回的内容是：{result}")
print(f"无返回值函数，返回的内容类型是：{type(result)}")


# None用于if判断

def check_age(age):
    if age > 18:
        return "SUCCESS"
    else:
        return None # 这句不写也会默认返回None

result = check_age(16)
if not result:
    # 进入if表示result是None值 也就是False
    print("未成年，不可以进入")


# None用于声明无初始内容的变量
name = None




